Computers may be used to perform various tasks. In general, a computer may include a processor to execute instructions and storage for storing the instructions to be executed. Thus, many devices, such as printers, personal computers, laptops, and fax machines, may be referred to as “computers.”
In some situations, it is desirable to network multiple computers together to perform functions such as data storage, data processing, or printing. For example, a computer that is being used as a workstation by a user may be networked to a computer acting as an internet server. Regardless of the type of computer implemented, each computer in the network may implement environment variables (EVs). Briefly put, an EV is a global setting, or configuration parameter, which is available to various applications and levels of hardware. One example of an EV includes the boot order, or initialization sequence, of a computer. For instance, the boot order EV may be configured so that the computer checks for the presence of a floppy disk in the floppy disk drive before booting from the master boot sector of the hard drive.
Configuring the EVs typically includes a user modifying the EVs using a configuration tool. For example, the user may modify the boot order of the machine such that the hard drive is the first drive consulted in the initialization sequence by making the appropriate entries in the configuration tool. This configuration tool is usually a set of programs stored in a read-only memory (ROM). The actual EV settings, such as boot order, are stored in a non-volatile storage medium including a non-volatile random access memory (NVRAM). Changes stored in the NVRAM usually are effectuated on the next boot up of the computer. Other changes, such as turning on a power savings mode, may be effectuated currently.
In systems having numerous computers coupled together in a network fashion, there may be numerous ROMs where each ROM is unique. Further, each unique ROM may require a different configuration setting to effectuate the same desired result. For example, setting the boot order (e.g., floppy then hard drive) on one computer may involve different ROM configuration settings than setting the same boot order on another computer in the network. Thus, each unique ROM may require individual configuration making network wide changes a time consuming proposition.